namespace NGen.Systems.Alarms
{
	/// <summary>
	/// 	Interface a class must inherit in order to be able to receive alarm event callbacks
	/// </summary>
	public interface IAlarmListener<in TMessageType>
	{
		/// <summary>
		/// 	This method gets invoked whenever an alarm goes off.
		/// </summary>
		/// <param name = "p_message">the message passed from the alarm</param>
		void OnAlarmEvent(TMessageType p_message);
	}
}